package com.hig.system.controller;

import com.hig.utils.TreeNode;
import com.hig.utils.TreeUtils;
import com.ruoyi.common.core.domain.entity.SysDept;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class TreeNodeMapper {

    /**
     * 将部门列表映射为树形节点
     *
     * @param sysDepts 部门列表
     * @return 树形结构的根节点列表
     */
    public static List<TreeNode> mapToTreeNodes(List<SysDept> sysDepts) {
        // 将 SysDept 转换成 TreeNode
        List<TreeNode> treeNodes = sysDepts.stream()
            .map(dept -> new TreeNode(dept.getDeptId(), dept.getParentId(), dept.getDeptName()))
            .collect(Collectors.toList());

        // 构建树形结构
        return TreeUtils.buildTree(treeNodes, 0L); // 假设 0 是根节点的父ID
    }
}
